package com.example.myFirstWebmagic.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Date;

import org.apache.commons.lang3.time.DateUtils;
import org.junit.Test;

/**
 * 
 * ClassName: DateUtil 
 * @Description: 日期工具类
 * @author xiongyao
 * @date 2017年3月6日
 */
public class DateUtil extends DateUtils{
	
	/**
	 * 
	 * @Description: 获取今天的日期
	 * @param @return   
	 * @return String  
	 * @throws
	 * @author xiongyao
	 * @date 2017年3月6日
	 */
	public static String getToday(){
		LocalDate today = LocalDate.now();
		return today.toString();
	}
	
	/**
	 * 
	 * @Description: 根据时间格式，获取今天的日期
	 * @param @param dateFormat
	 * @param @return   
	 * @return String  
	 * @throws
	 * @author xiongyao
	 * @date 2017年3月6日
	 */
	public static String getToday(DateTimeFormatter dateFormat){
		LocalDate today = LocalDate.now();
		return today.format(dateFormat).toString();
	}
	
	/**
	 * 
	 * @Description: 格式化日期格式
	 * @param @param date
	 * @param @param dateFormat
	 * @param @return   
	 * @return String  
	 * @throws
	 * @author xiongyao
	 * @date 2017年3月13日
	 */
	public static String format(String sourceDate,DateTimeFormatter dateFormat){
		LocalDate date=LocalDate.parse(sourceDate, dateFormat);
		return date.toString();
	}
	
	/**
	 * 
	 * @Description: 将秒转换为时间
	 * @param @param time
	 * @param @return   
	 * @return String  
	 * @throws ParseException 
	 * @throws
	 * @author xiongyao
	 * @date 2017年3月13日
	 */
	public static String getTime(String time){
		return getTime(time,"yyyy-mm-dd");
		
	}
	
	/**
	 * 
	 * @Description: 将秒转换为时间
	 * @param @param time
	 * @param @param format
	 * @param @return   
	 * @return String  
	 * @throws
	 * @author xiongyao
	 * @date 2017年3月13日
	 */
	public static String getTime(String time,String format){
		Date date=new Date(Long.parseLong(time));
		SimpleDateFormat dateFormat=new SimpleDateFormat(format);
		return dateFormat.format(date);
	}
	

	@Test
	public void testGetLastDate(){
		System.out.println(DateUtil.getToday());
		
	}
	
	
	@Test
	public void testFormat(){
		String sourceDate="2017年03月12日15时";
		DateTimeFormatter dateTimeFormatter=DateTimeFormatter.ofPattern("yyyy年MM月dd日HH时");
		System.out.println(DateUtil.format(sourceDate, dateTimeFormatter));
	}
	
	@Test
	public void testGetTime(){
		System.out.println(getTime("1489334400000"));
	}
	
}
